package com.holyant.goods.dto.query;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.QueryDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.List;
import java.util.Map;

/**
 * 商品SKU实体 gds_sku
 * 
 * @author tswsoft
 * @date 2021-04-06
 */
@Data
@ApiModel("商品SKU")
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class GdsSkuQueryDto extends QueryDto {

    private static final long serialVersionUID = 1L;

    /** sku编号 */
    @ApiModelProperty(value = "sku编号")
    private String code;

    /** sku编号 */
    @ApiModelProperty(value = "sku编号")
    private List<Map<String, String>> codes;

    /** sku名称 */
    @ApiModelProperty(value = "sku名称")
    private String name;

    @ApiModelProperty(value = "所属商品id")
    private Long goodsId;

    /** 状态  0 正常 1 停用 */
    @ApiModelProperty(value = "状态  0 正常 1 停用")
    private String status;

    /** 采购价 */
    @ApiModelProperty(value = "采购价")
    private BigDecimal purPrc;

    /** 销售价 */
    @ApiModelProperty(value = "销售价")
    private BigDecimal salesPrc;

    /** 失效日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "失效日期")
    private LocalDate expireDate;

    /** 扩展属性 */
    @ApiModelProperty(value = "扩展属性")
    private String extAttr;

    /** 是否上架 1 是 0 否 */
    @ApiModelProperty(value = "是否上架 1 是 0 否")
    private String shelfFlag;

    /** 备注 */
    @ApiModelProperty(value = "备注")
    private String remark;

    /** 商品编码 */
    @ApiModelProperty(value = "商品编码")
    private String goodsCode;

    /** 商品名称 */
    @ApiModelProperty(value = "商品名称")
    private String goodsName;

    @ApiModelProperty(value = "商品状态")
    private String goodsStatus;

    /** 所属分类id */
    @ApiModelProperty(value = "所属分类id")
    private Long categoryId;


    /** 品牌id */
    @ApiModelProperty(value = "品牌id")
    private Long brandId;

    /** 计量单位id */
    @ApiModelProperty(value = "计量单位id")
    private Long unitId;

    private String categoryCode;

    /** 商品条码 */
    @ApiModelProperty(value = "商品条码")
    private String goodsBarcode;

    /** 商品条码 */
    @ApiModelProperty(value = "商品条码")
    private List<Map<String, String>> goodsBarcodes;

    /** 供应商ID */
    @ApiModelProperty(value = "供应商ID")
    private String supplierId;

    /**
     * 有报过价的
     */
    private boolean skuCostPriceQuoted;


    /**
     * 系统标签值
     */
    private Integer systemTagValue;

    
}
